function diff = deltacoeff(x)


%Fecha:          10/10/08
%Syntax:        diff = deltacoeff(Matrix);
%Calcula la derivada con respecto del tiempo de la matriz X de los coeficientes
%mfcc y devuelve el resultado como una nueva matriz. 

[nr,nc] = size(x);

K = 3;          %Número de margen/duración/intervalo del frame (iguales backward & forward)
b = K:-1:-K;    %Vector de los coeficientes de filtro

%atenua la matriz de los coef. cepstrales, repitiendo la primera y última filas K veces
px   = [repmat(x(1,:),K,1);x;repmat(x(end,:),K,1)];
diff = filter(b, 1, px, [], 1); % filtra el vector de datos a lo largo de cada columna
diff = diff/sum(b.^2);          %Divide por la suma al cuadrado de todos los valores del intervalo
diff = diff(K + 1:nr,:);        % Recorta las K filas superiores e inferiores para hacer la matrix de entrada y salida igual
